package edu.erpan.bl.entities;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import edu.erpan.entities.administracion.Persona;
import edu.erpan.util.entityManager.DefaultEntity;


/**
 * The persistent class for the recepcion_materia_prima database table.
 * 
 */
@Entity
@Table(name="recepcion_materia_prima")
public class RecepcionMateriaPrima extends DefaultEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="idrecepcion_materia_prima", unique=true, nullable=false)
	private int idrecepcionMateriaPrima;

	@Column(name="certificado_calidad", length=20)
	private String certificadoCalidad;

    @Temporal( TemporalType.DATE)
	@Column(name="fecha_recepcion", nullable=false)
	private Date fechaRecepcion;

	@Column(length=200)
	private String observaciones;

	@ManyToOne
	@JoinColumn(name="proveedores_idproveedores", nullable=false)
	private Proveedor proveedore;

	//bi-directional many-to-one association to Persona
    @ManyToOne
	@JoinColumn(name="responsable_idpersona", nullable=false)
	private Persona persona;

	//uni-directional many-to-one association to Opcion
    @ManyToOne
	@JoinColumn(name="condiciones_vehiculo")
	private Opcion condicionVehiculo;

	//uni-directional many-to-one association to Opcion
    @ManyToOne
	@JoinColumn(name="condiciones_empaque")
	private Opcion condicionEmpaque;

    public RecepcionMateriaPrima() {
    }

	public int getIdrecepcionMateriaPrima() {
		return this.idrecepcionMateriaPrima;
	}

	public void setIdrecepcionMateriaPrima(int idrecepcionMateriaPrima) {
		this.idrecepcionMateriaPrima = idrecepcionMateriaPrima;
	}

	public String getCertificadoCalidad() {
		return this.certificadoCalidad;
	}

	public void setCertificadoCalidad(String certificadoCalidad) {
		this.certificadoCalidad = certificadoCalidad;
	}

	public Date getFechaRecepcion() {
		return this.fechaRecepcion;
	}

	public void setFechaRecepcion(Date fechaRecepcion) {
		this.fechaRecepcion = fechaRecepcion;
	}

	public String getObservaciones() {
		return this.observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public Opcion getCondicionVehiculo() {
		return this.condicionVehiculo;
	}

	public void setCondicionVehiculo(Opcion condicionVehiculo) {
		this.condicionVehiculo = condicionVehiculo;
	}
	
	public Opcion getCondicionEmpaque() {
		return this.condicionEmpaque;
	}

	public void setCondicionEmpaque(Opcion condicionEmpaque) {
		this.condicionEmpaque = condicionEmpaque;
	}

	/**
	 * @return the proveedore
	 *
	 * @author Jeison
	 * @date 5/09/2012
	 */
	public Proveedor getProveedore() {
		return proveedore;
	}

	/**
	 * @param proveedore the proveedore to set
	 * 
	 * @author Jeison
	 * @date 5/09/2012
	 */
	public void setProveedore(Proveedor proveedore) {
		this.proveedore = proveedore;
	}

	/**
	 * @return the persona
	 *
	 * @author Jeison
	 * @date 5/09/2012
	 */
	public Persona getPersona() {
		return persona;
	}

	/**
	 * @param persona the persona to set
	 * 
	 * @author Jeison
	 * @date 5/09/2012
	 */
	public void setPersona(Persona persona) {
		this.persona = persona;
	}
	
}